package com.mark.web.sys.mapper;

import com.mark.web.sys.entity.po.Department;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description: 操作部门表的接口
 * @Author: Kingsley: 08：46
 * @CreateDate: 2018/12/2 19
 * @Version: 2.0
 * @Copyright : 豆浆油条个人非正式工作室
 */
@Mapper
public interface DepartmentMapper {
    /**
     * 新增一个部门
     * @param record ：部门实体
     * @return ：成功写入数据库时返回1
     */
    int insert(Department record);

    /**
     * 根据部门ID删除部门信息
     * @param id ：部门ID
     * @return ：
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 更新部门信息
     * @param record ：部门信息
     * @return ：
     */
    int updateByPrimaryKeySelective(Department record);

    /**
     * 根据部门ID查询部门信息
     * @param id ：部门ID
     * @return ：
     */
    Department selectByPrimaryKey(Integer id);

    /**
     * 校验当前部门名称是否已经存在
     * @param id    ：部门ID
     * @param name ：部门名称
     * @return ：
     */
    int validateDeptName(@Param("id") Integer id ,@Param("name") String name);

    /**
     * 获取所有的部门信息
     * @return
     */
    List<Department> selectDeptList();

}